函数零点的求解方法

您所在的位置:网站首页 matlab fzero函数用法 函数零点的求解方法

函数零点的求解方法

2023-09-19 20:23| 来源: 网络整理| 查看: 265

有了函数后, 我们怎么用呢?

直接利用函数计算, 例如: sin(pi), 还有我们提到的 mysqr(3)... 函数画图, 例如Plottools中提到的ezplot, ezsurf... 但是这也太小儿科了, 有没有想过定义函数后, 利用它来: 求解零点(即解f(x)=0方程), 最优化(求最值/极值点), 求定积分, 常微分方程求解等.

方程的分类:单个方程按其系数的性质分为线性方程和非线性方程。

一元非线性方程求解(fzero()、roots()、fsolve()) 多元非线性方程求解(fsolve())

fzero()、fsolve()比较:

使用形式相似

              解=fzero(函数, 初值, options)              解=fsolve(函数, 初值, options)

 

fzero()函数求解一元非线性方程的零点,fsolve()可以解多元方程组。 关于解: fzero给出的是x单值的解, fsolve给出的是解x可能处于的区间, 当然, 这个区间很窄. 关于'函数': 前面提到的三种表示方法, 在这里都可以用. 记住就是: 如果直接使用函数表达式, 要用单引号将它括起来; 而m文件函数名、匿名函数的函数句柄、inline函数则可以直接使用. 关于'初值': 电脑比较"笨", 它寻找解的办法是尝试不同地x值, 摸索解在哪里. 所以我们一开始就要给它指明从哪里开始下手, 初值这里, 可以只给它一个值, 让它在这个值附近找解, 也可以给它一个区间(区间用[下限,上限]这种方式表示), 它会在这个区间内找解. fsolve()可以同时有多个初值,例如:y=fsolve('tan(x)-x',[-4,0,4]) fzero注意1: fzero的一些局限性, 如果你给定的初值是区间, 而恰好函数在区间端点处同号, fzero会出错. 例如,如果x0是一个长度为2 的矢量,则fzero函数假设x0是一个区间,其中fun(x0(1)))的符号与fun(x0(2))的不同. 如果符号相同,则会出错. 给出符号不同的区间可以保证fzero函数返回一个fun函数改变符号的位置附近的值。 fzero注意2: 而如果你只给一个初值, fezro又有可能'


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3